package com.milo.base.math;

import org.junit.Test;

import java.math.BigDecimal;
import java.text.DecimalFormat;

/**
 * @author milogenius
 * @date 2020-04-14 19:49
 *   <p>
 *    三种方式将浮点数小数点保留到2位
 *   </p>
 */
public class BigDecimalTest {

    /**
     * 方式一:使用BigDecimal
     */
    @Test
    public void test1(){
        float number = BigDecimal.valueOf(4.526f)
                .setScale(2, BigDecimal.ROUND_HALF_DOWN)
                .floatValue();
        System.out.println(number);
    }

    /**
     * 方式二:使用DecimalFormat
     */
    @Test
    public void test2(){
        DecimalFormat df = new DecimalFormat("#.00");
        float number = Float.valueOf(df.format(4.526f));
        System.out.println(number);
    }

    /**
     * 方式三:使用Math
     */
    @Test
    public void test3(){
        float rounded = (float) Math.round(4.526f*100)/100;
        System.out.println(rounded);
    }
}
